//Alex Silkin

#pragma once

#ifndef CONVEYOR_H_
#define CONVEYOR_H_

#include "Printable.h"

#include "Kit.h"
#include "Enums.h"
#include "KitRecipe.h"
#include <qpoint.h>

class Conveyor : public Printable
{
public:

	// ------------------------------------------------------------------------------------
	// Messages:

	virtual void msgHereAreKits(KitRecipe* k)	 = 0;					// Called by FCS

	virtual void msgHereIsFinishedKit(KitInterface* k) = 0;	// Called by KitRobotAgent

	//virtual void msgICreatedKit( Kit* kit ); // not necessary, it receives kits back in msg from GUI end of conveyor

	virtual void msgKitPickedUp() = 0;														// Called by KitRobotAgent

	virtual QPoint getPickUpKitPosition() {return QPoint(0,0);}											// Called by KitRobotAgent to get the coordinates of the Kit for it to pick up. Get this from your GUI and return it to me

	virtual QPoint getDropOffKitPosition() {return  QPoint(0,0);}										// Called by KitRobotAgent to get the coordinates where the Kit is to be dropped off. Get this from your GUI and return it to me

	// ------------------------------------------------------------------------------------

};

#endif